Power ISA

Infotaula equipament informàticPower ISA
Llançament2006 Modifica el valor a Wikidata
Característiques de CPUs
Conjunt d'instruccionsPOWER ISA
Característiques de Connectors
Representació esquemàtica
Modifica el valor a Wikidata
PowerPC Modifica el valor a Wikidata

Power ISA és una arquitectura de conjunt d'instruccions (ISA) desenvolupada actualment per la Fundació OpenPOWER, liderada per IBM. Va ser desenvolupat originalment per IBM i l'ara desaparegut grup industrial Power.org. Power ISA és una evolució del PowerPC ISA, creat per la fusió del nucli PowerPC ISA i el Book E opcional per a aplicacions incrustades. La fusió d'aquests dos components el 2006 va ser liderada pels fundadors de Power.org IBM i Freescale Semiconductor.[1]

Abans de la versió 3.0, l'ISA es divideix en diverses categories. Els processadors implementen un conjunt d'aquestes categories segons sigui necessari per a la seva tasca. Es requereixen diferents classes de processadors per implementar determinades categories, per exemple un processador de classe de servidor inclou les categories: Base, Servidor, Punt flotant, 64 bits, etc. Tots els processadors implementen la categoria Base.[2]

Un diagrama esquemàtic de molt alt nivell d'un processador Power ISA genèric

Power ISA és una arquitectura de càrrega/emmagatzematge RISC. Té diversos conjunts de registres :

  • Registres de propòsit general (GPR) de 32 × 32 o 64 bits per a operacions amb nombres enters.
  • Registres escalars vectorials (VSR) de 64 × 128 bits per a operacions vectorials i operacions de coma flotant.
    • Registres de coma flotant (FPR) de 32 × 64 bits com a part dels VSR per a operacions de coma flotant.
    • Registres vectorials (VR) de 32 × 128 bits com a part dels VSR per a operacions vectorials.
  • Camps de registre de condicions de 8 × 4 bits (CR) per a la comparació i el flux de control.
  • 11 registres especials de diferents mides: registre de comptador (CTR), registre d'enllaç (LR), base de temps (TBU, TBL), base de temps alternativa (ATBU, ATBL), acumulador (ACC), registres d'estat (XER, FPSCR, VSCR, SPEFSCR).

Les instruccions fins a la versió 3.0 tenen una longitud de 32 bits, amb l'excepció del subconjunt VLE (codificació de longitud variable) que proporciona una densitat de codi més alta per a aplicacions incrustades de gamma baixa, i la versió 3.1 que va introduir el prefix per crear instruccions de 64 bits. La majoria de les instruccions són triàdiques, és a dir, tenen dos operands font i una destinació. S'admeten operacions de coma flotant de precisió simple i doble que compleixen amb IEEE-754, incloses instruccions addicionals de multiplicació-addició fusionada (FMA) i instruccions decimals de coma flotant. Hi ha disposicions per a operacions d'instrucció única, múltiples dades (SIMD) sobre dades senceres i de coma flotant en fins a 16 elements en una instrucció.[3]

Power ISA té suport per a la memòria cau de Harvard, és a dir, la memòria cau dividida de dades i instruccions, i suport per a la memòria cau unificada. Les operacions de memòria són estrictament de càrrega/emmagatzematge, però permeten una execució fora d'ordre. També hi ha suport per a l'adreçament gran i petit endian amb categories separades per a l'endianitat modificada i per pàgina, i suport tant per a l'adreçament de 32 bits com de 64 bits.

Els diferents modes de funcionament inclouen usuari, supervisor i hipervisor.

  1. Writer, CBR Staff. «IBM's Open Source POWER Play: A RISC-V Business?» (en anglès americà), 27-08-2019. [Consulta: 31 desembre 2023].
  2. By. «Joining The RISC-V Ranks: IBM’s Power ISA To Become Free» (en anglès americà), 24-08-2019. [Consulta: 31 desembre 2023].
  3. «https://wiki.raptorcs.com/w/images/d/d3/OPF_PowerISA_v3.1B.pdf» (en anglès). [Consulta: 31 desembre 2023].

Developed by StudentB